/**
 * 
 */
package ar.com.seminario.systema.service;

import java.util.List;

import ar.com.seminario.common.service.exception.ServiceException;
import ar.com.seminario.systema.model.OpcionMenu;
import ar.com.seminario.systema.model.Usuario;

/**
 * Servicio de logueo al sistema de RRHH.
 * 
 * @author Pablo Lamas
 * 
 */
public interface ILogInnService {

	/**
	 * Controla si el usuario existe en el sistema con ese nombre y clave.
	 * 
	 * @param username nombre de usuario de quien intenta loguearse.
	 * @param password contraseña de quien intenta loguearse.
	 * 
	 * @return el identificador del usuario.
	 * 
	 * @throws ServiceException En caso de error.
	 */
	Usuario isAValidUser(String username, String password) throws ServiceException;
	
		
	/**
	 * Obtiene las opciones del menu para un usuario por su Id.
	 * 
	 * @param userId el identificador del usuario.
	 * 	
	 * @return la lista de opciones del usuario.   
	 * 
	 * @throws ServiceException En caso de error.
	 */
	List<OpcionMenu> getOptionsByUserId(Long userId) throws ServiceException;
}
